Today almost all portable devices are equipped to send and receive messages, such as short message services and multimedia messaging services (MMS). Contrary to the voice service, a SMS service is considered to be the perfect service for asynchronous communication since it allows short and simple text messages to be read and answered to anywhere and at anytime. SMS enables individuals to send and receive text messages on communication channels that are usually separate from a voice call channel. In addition, SMS messages do not require a wireless telephone to be activated or within range in order to handle a message. In the event where a receiving device is not available, the SMS message is stored in an SMS message center (SMS-C) for a predetermined time period until the device becomes again active. A further advantage with SMS is that an active device is able to receive or send a SMS message independent of whether or not a voice or data call is in progress.
While SMS allows individuals to send simple messages to other users from almost any location in the world, many users use today Instant Messaging services such as MSN or GoogleTalk available on the Internet for more advanced and synchronous text communication. That is, they communicate using a format based on ongoing conversation allowing the user to see a history of sent and received messages. In contrast to SMS, Instant Messaging applications typically allow users to chat in real-time with friends by text, voice and also video. Additionally, it is typically possible to send files, photos, choose background pictures or exchange presentation material etc. Some services such as GoogleTalk also allow the users to access messages via a central web service, or from any device having GoogleTalk installed.
Currently, the industry is investing on how to make Instant Messaging services available in the mobile phones domain as well as fixed Internet domain to provide users with more advanced text communication systems. For example, one usage of the IP Multimedia Subsystem (IMS) is to provide real-time communication services for mobile phones as well as standard desktop computers.
To increase the number of users reachable from a system, attempts have been made on developing multi-protocol clients to provide interoperability between various systems. For example, with MSN Mobile messaging it is possible to send regular SMS from MSN clients running on desktop computers, to a user with a regular mobile phone. It is also possible to reach MSN users with SMS using predefined recipients. Similar functionality is also provided by other systems, for example ICQ.
Therefore, although many users consider SMS to be the perfect service for mobile asynchronous communication, it has several limitations such as lack of real-time chat support and limited support for sending messages from other devices than the user's mobile phone. For example, today it is generally not obvious how to send and receive messages from web services. For example, as the service provider usually maintains a separate subscription or a set of subscriptions not corresponding to the user's subscription, it is generally not easy to reply to SMS messages sent from the web service. A related problem is that the recipient will generally not recognize the originator's phone number as the messages are sent using the service provider's own subscription. Moreover, as the actual SMS messages are stored on the user's mobile phone, they can generally not be accessed from other devices. For example, if the user purchases another phone or resets the phone, all SMS messages are typically erased.
Memory and storage limitation is another problem with current SMS solutions. Off-line handling of SMS such as messaging archiving and history management are not supported today.
In addition, presence information is generally not available, that is, it is not possible to see if a specific recipient is active and on-line; a functionality which is provided by most Instant Messaging systems today. However, instead of presence information users can set a flag in the SMS message to get a status report message (from SMS-C) that tells whether a SMS message has reached the recipient mobile phone or not.
Moreover, it is hard to chat with multiple users at the same time since the messages are only arranged by time. For example, allowing the user to switch between different chat conversations is typically not supported today.
In addition, users that possess several devices, including a data communication device, a cellular phone, a personal digital assistant etc. often find it inconvenient to continually make use of only one of the devices to receive/send a SMS message. In the U.S. patent No. 2005/0176409; a solution is provided that enables the delivery of SMS messages simultaneously to two or more wireless communication devices that are associated with a single user. In this prior art solution, a SMS message is delivered to a first device identified by a first address as well as to a second device indentified by a second address which is different from the first address. This way, the SMS is received regardless of which wireless device is being used at any given moment by the user. A drawback with this solution is that since each SMS message is identified using different addresses associated with the user, the user needs as many subscriptions as the number of addresses. In addition, the solution described in this prior art is restricted to wireless devices.
As mentioned earlier, it is possible to send a SMS message from MSN clients running on desktop computers, to a user with a regular phone. On the other hand, if a user wishes to send a SMS message using Instant Messaging solutions available on the Internet today, he/she has to install MSN messenger or GoogleTalk or ICQ etc. However, these instant messaging solutions are generally not optimized to run on mobile phones. For example, today users have to start and configure separate e.g. Java Midlets applications to run external applications, which are not particularly well integrated with the rest of the mobile phone software. As a result, a significant amount of user interaction is typically required to utilize a third party service such as an Internet-based Instant Messaging service running on a mobile phone. Additionally, running multi-protocol clients to provide interoperability between various communication systems (e.g. sending SMS from an ICQ client) on mobile phones adds a significant amount of complexity, thus requiring even more user interaction making multi-protocol solutions less suitable for mobile phones.